//package com.hsq.ndmall.promotion.config;
//
//
//import org.springframework.amqp.core.*;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
///**
// * @author 黄四清
// * @version 1.0.0
// * @ClassName ProductRabbitMQ.java
// * @Description TODO
// * @createTime 2021年09月06日 11:45:00
// */
//@Configuration
//public class ProductRabbitMQConfig {
//        // TODO 1、一个交换机
//    @Bean
//    public TopicExchange demo6Exchange(){
//        return  new TopicExchange(RabbitMQProperties.STOCK_EVENT_EXCHANGE,
//                true,  //持久化
//                false);  // 是否自动删除
//    }
//
//    // TODO 2、两个队列
//    //2.1 普通队列
//    @Bean
//    public Queue deadQueue(){
//        return new Queue(RabbitMQProperties.STOCK_RELEASE_QUEUE,
//                true,
//                false,
//                false);
//    }
//    // 2.2 ssl队列
//    @Bean
//    public Queue ttlQueue(){
//        return QueueBuilder.durable(RabbitMQProperties.STOCK_DELAY_QUEUE)
//                .exclusive()
//                .autoDelete()
//                .ttl(60000)
//                .deadLetterExchange(RabbitMQProperties.STOCK_EVENT_EXCHANGE)   // 交换机
//                .deadLetterRoutingKey(RabbitMQProperties.STOCK_RELEASE_MSG)  // 路由键
//                .build();
//    }
//
//    //TODO 3、将队列绑定到路由
//    @Bean
//    public Binding demo6DeadQueue(){
//        return BindingBuilder.bind(deadQueue()).to(demo6Exchange()).with(RabbitMQProperties.STOCK_RELEASE_BINDINGKEY);
//    }
//
//    @Bean
//    public Binding demo6TtlQueue(){
//        return BindingBuilder.bind(ttlQueue()).to(demo6Exchange()).with(RabbitMQProperties.STOCK_LOCK_BINDINGKEY);
//    }
//
//}
